package com.xxadmin.usercenter.dao;

import com.github.pagehelper.Page;
import com.xxadmin.usercenter.domain.MenuInfo;
import com.xxadmin.usercenter.dto.MenuInfoQueryDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

@Mapper
@Service
public interface MenuInfoDao {

    /**
     * insert
     *
     * @param record
     * @return
     */
    int insertSelective(MenuInfo record);

    /**
     * 根据 ID 获取菜单
     * @param id
     * @return
     */
    MenuInfo selectByPrimaryKey(Integer id);

    /**
     * update
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(MenuInfo record);

    /**
     * 获取菜单信息
     * @param queryDTO
     * @return
     */
    Page<MenuInfo> selectMenuInfoList(MenuInfoQueryDTO queryDTO);

    /**
     * 根据编码获取菜单信息
     * @param menuCode
     * @return
     */
    MenuInfo selectByCode(@Param("menuCode") String menuCode);

    /**
     * 根据 channelCode 和 name 获取 菜单信息
     * @param channelCode
     * @param menuName
     * @return
     */
    MenuInfo selectByChannelCodeAndName(@Param("channelCode")String channelCode, @Param("menuName")String menuName);
}